1. Field of the Invention
This invention relates in general to database management systems performed by computers, and in particular to an optimized remote computer system database monitoring and managing technique useable in a distributed computing environment.
2. Description of Related Art
The data processing resources of business organizations are increasingly taking the form of a distributed computing environment in which data and processing are dispersed over a network comprising many interconnected, heterogeneous and geographically remote computers. Some reasons for this approach are the need to offload non-mission-critical processing from the mainframe, to provide a pragmatic alternative to centralized corporate databases, to establish a single computing environment, to move control into the operating divisions of the company, and to avoid having a single point of failure. Many business entities have one client/server network installed in each regional office, in which a high-capacity computer system operates as the “server” supporting many lower-capacity “client” desktop computers. The servers in such a business entity are commonly connected to one another by a higher-level network known as a wide area network. In this manner, users at any location within the business entity can access resources available in the company's network regardless of where the resource is located.
Such systems require a method and apparatus for monitoring and managing the applications and resources on a distributed computer network. Therefore, in the distributed systems there is a need to remotely send external commands to access files, monitor and communicate information about the existence and status of resources, allow the exchange of information between the processors, query and update a database, or to execute recovery actions.
A procedure is needed for coordinating event management between the various computers throughout the network. Preferably, at least one manager software system runs on at least one of the networked computer systems designated as a network management computer system or “console” system. Typically, an “agent” software utility runs on each of the server computer systems in the network to be monitored. Each respective agent software utility carries out tasks on the computer system in which it is installed, such as discovering which resources and applications are present on the computer system, monitoring particular aspects of the resources and applications present on the computer system, and executing recovery actions automatically, when such actions are warranted. The agents are capable of intelligent, autonomous operation.
Database modules are stored in a non-volatile storage device at the site of each agent software utility and typically are loaded and unloaded into server memory dynamically as consoles register and de-register with the agents. Consoles may register to receive all information from the agents or only selected information.
Databases are computerized information storage and retrieval systems. A Relational Database Management System (RDBMS) is a database management system (DBMS) which uses relational techniques for storing and retrieving data. RDBMS software using a Structured Query Language (SQL) interface is well known in the art. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both the American National Standards Organization (ANSI) and the International Standards Organization (ISO).
In RDBMS software all data is externally structured into tables. The SQL interface allows users to formulate relational operations on the tables either interactively, in batch files, or embedded in host language, such as C, COBOL, etc. Operators are provided in SQL that allow the user to manipulate the data, wherein each operator operates on either one or two tables and produces a new table as a result. The power of SQL lies on its ability to link information from multiple tables or views together, to perform complex sets of procedures with a single statement. A Call statement of SQL is used to invoke stored procedures.
The RDBMS Control Center utility is a database administrator's tool, used to define tables, reorganize data and manage and remove data no longer needed. Whenever a request from the Control Center is submitted, such as a command defining a table, the processing information is generated as SQL statements. The statements may be run immediately, or saved in a file, which can be edited and the statements can be run at a later time by the Control Center. Deferred SQL files let a user customize the tasks for his application needs.
Remote systems management requires connectivity to be established between a console and a remote server system. Remote server management activities include software installation and upgrade, monitoring various aspects of the server system, and managing the configuration and files on the server system. The databases are usually managed by a database management system (DBMS). In this case, to accomplish the remote server management activities, the conventional remote management products require utilization of two separate management protocols, one for the database and another for the server operating system functions. They also use a communication protocol for connectivity purposes. The management protocol used for managing the server's operating system functions can be any established protocol based on an industry standard or a user's private protocol, which is used between the management console computer and the server management agent. The database DBMS protocol is typically a DB2® or Oracle protocol. The communication protocol is typically the TCP/IP, SNA or IPX protocol.
One problem associated with the simultaneous use of two types of management protocols is the presence of two communication lines, one for the database management and the other for the server operating system functions. The efficiency of communication functions is a key factor in any distributed database system performance, which can be enhanced by the elimination of the overhead for maintaining the second communication line, albeit leaving the only communication line with a heavier load.
While there have been various techniques developed for optimizing the remote systems management functions there is still a need in the art for further optimization techniques involving remote systems management. Therefore, it would be advantageous to provide a method for the computer that efficiently controls the server computer site, is easy to implement and maintain, and decreases the use of communication resources, such as sessions, between processors.